package com.yf.service.manage;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yf.model.ai.entity.AiConfig;
import com.yf.model.ai.form.AiConfigForm;
import com.yf.model.ai.query.AiConfigPageQuery;
import com.yf.model.ai.vo.AiConfigPageVO;

import java.util.List;

/**
 * AI 会话配置-AiConfigService
 *
 * @author: YiFei
 * @since : 2025年7月5日 00:49:08
 */
public interface IAiConfigService extends IService<AiConfig> {

    /**
     * 分页查询AI 会话配置
     *
     * @param queryParams 查询参数
     * @return AI 会话配置分页数据
     */
    IPage<AiConfigPageVO> getAiConfigPage(AiConfigPageQuery queryParams);

    /**
     * 删除AI 会话配置
     *
     * @param ids AI 会话配置id集合
     * @return 是否删除成功
     */
    boolean deleteAiConfig(List<Integer> ids);

    /**
     * AI 会话配置表单数据
     *
     * @param id AI 会话配置主键
     * @return AI 会话配置表单数据
     */
    AiConfigForm getAiConfigForm(Integer id);

    /**
     * 保存AI 会话配置
     *
     * @param aiConfigForm AI 会话配置表单
     * @return AI 会话配置主键
     */
    Integer saveAiConfig(AiConfigForm aiConfigForm);

    /**
     * 修改AI 会话配置
     *
     * @param id           AI 会话配置主键
     * @param aiConfigForm AI 会话配置表单
     * @return 是否修改成功
     */
    boolean updateAiConfig(Integer id, AiConfigForm aiConfigForm);
}
